
import Taro from '@tarojs/taro'
import { Menu, RequestType, Target } from '@/model/declare';
import { scanCode } from './utils';

/**
 * 跳转公共方法
 */


function genUrl(menu: Menu) {

    if (!menu.target) {
        return '/pages/goods/entry/index'
    }
    //有商品ID  先跳转到商品详情 目前没有 以后加
    let url;
    switch (menu.target) {
        case Target.GOODS:
            // TODO
            url = '';
            break;
        case Target.CATE:
            url = `/pages/goods/entry/index?${menu.param}`;
            break;
        case Target.PAGES:
            url = menu.url || '/pages/notfount/index';
            break;
        default:
            url = `/pages/view/index?to=${menu.url}`;
            break;
    }
    return url || '/pages/notfount/index'

}
export function reqto(menu: Menu): void {


    const url = genUrl(menu)

    switch (menu.requestType) {

        case RequestType.NAV:
            Taro.navigateTo({ url })
            break;
        case RequestType.REQ:
            Taro.redirectTo({
                url
            })
            break
        case RequestType.TAB:
            Taro.switchTab({
                url
            })
            break
        case RequestType.SCAN:
            scanCode();
            break;
        // case RequestType.H5:
        //     Taro.showToast({
        //         icon: 'none',
        //         title: '暂不支持'
        //     })
        //     break
        default:
            Taro.navigateTo({
                url
            })
            break
    }

}